//
//  ADViewController.h
//  ADKit
//
//  Created by 杜 泽旭 on 2017/12/2.
//  Copyright © 2017年 duzexu. All rights reserved.
//

#import <UIKit/UIKit.h>

@class ADViewModel;
@interface ADViewController : UIViewController

/// The `viewModel` parameter in `-initWithViewModel:` method.
@property (nonatomic, readonly, strong) ADViewModel *viewModel;

/// Initialization method. This is the preferred way to create a new view.
///
/// viewModel - corresponding view model
///
/// Returns a new view.
+ (instancetype)controllerWithViewModel:(ADViewModel *)viewModel;

/// An additional method, in which you can initialize data
/// This method will be execute during the execution of `-viewDidload` method.
- (void)initialize NS_REQUIRES_SUPER;

/// Binds the corresponding view model to the view.
- (void)bindViewModel NS_REQUIRES_SUPER;

@end
